package org.example.component;

import org.example.vo.PayInfoVO;

/**
 * 支付策略上下文
 */
public class PayStrategyContext {
    private PayStrategy payStrategy;

    public PayStrategyContext(PayStrategy payStrategy) {
        this.payStrategy = payStrategy;
    }

    /**
     * 根据支付策略，调用不同的支付接口
     */
    public String executeUnifiedOrder(PayInfoVO payInfoVO) {
        return payStrategy.unifiedOrder(payInfoVO);
    }

    /**
     * 根据支付策略，调用不同的支付查询订单状态
     */
    public String executeQueryPaySuccess(PayInfoVO payInfoVO) {
        return payStrategy.queryPaySuccess(payInfoVO);
    }
}
